#ifndef SPINNER_H
#define SPINNER_H

#include "GameObject.h"
#include "ActivateAbility.h"
#include "Activatable.h"
#include "SpinnerStepCalculator.h"

class Spinner: public GameObject, public Activatable
{
public:
	Spinner();
	virtual ~Spinner();

	void Activate();
	void SetSpinDirection(const Direction& direction);
	StepCalculator* GetActivationBehavior();

	// Test code
	void MoveTo(unsigned int cellX, unsigned int cellY);
	std::string ToString() const { return "S"; }

protected:

private:
	SpinnerStepCalculator behavior;
	Direction spinDirection;
	ActivateAbility* activateAbility;
};

#endif //SPINNER_H
